package comun;

import java.sql.Date;

public class Pelicula extends Video implements ValorId_p {// OK
	/**
	 * Clase utilizada como molde para las peliculas
	 * 
	 * tabla tablaPeliculas
	 * 
	 * id,titulo, director, pais,duracion,actorPrincipal,oscar,fechaEstreno
	 */

	private int id, duracion;
	private String actorPrincipal;
	private Integer oscar;
	private Date fechaEstreno;

	public Pelicula() {
		super(null, null, null);
		this.id = 0;
		this.actorPrincipal = null;
		this.oscar = 0;
		this.fechaEstreno = null;
		this.duracion = 0;
	}

	public Pelicula(int id, String titulo, String director, String pais,
			int duraccion, String actorPrincipal, Integer oscar,
			Date fechaEstreno) {
		super(titulo, director, pais);
		this.id = id;
		this.actorPrincipal = actorPrincipal;
		this.oscar = oscar;
		this.fechaEstreno = fechaEstreno;
		this.duracion = duraccion;
	}

	@Override
	public int getId_p() {
		return id;
	}

	@Override
	public void setId_p(int id) {
		this.id = id;
	}

	public String getActorPrincipal() {
		return actorPrincipal;
	}

	public void setActorPrincipal(String actorPrincipal) {
		this.actorPrincipal = actorPrincipal;
	}

	public Integer getOscar() {
		return oscar;
	}

	public void setOscar(Integer oscar) {
		this.oscar = oscar;
	}

	public Date getFechaEstreno() {
		return fechaEstreno;
	}

	public void setFechaEstreno(Date fechaEstreno) {
		this.fechaEstreno = fechaEstreno;
	}

	public int getDuracion() {
		return duracion;
	}

	public void setDuracion(int duracion) {
		this.duracion = duracion;
	}

	@Override
	public boolean equals(Object o) {

		boolean equals = false;

		Pelicula p = (Pelicula) o;
		if (this.getTitulo().equals(p.getTitulo())) {
			if (this.getDirector().equals(p.getDirector())) {
				equals = true;
			}
		}
		return equals;
	}

	@Override
	public int hashCode() {

		int hash = director.hashCode() * titulo.hashCode();
		return hash;
	}

	@Override
	public String toString() {

		String string = "ID:" + this.id + "\nTitulo:" + this.titulo
				+ "\nDirector:" + this.director + "\nPais:" + this.pais
				+ "\nDuraccion:" + this.duracion + "\nActor Principal:"
				+ this.actorPrincipal + "\nN de Oscars:" + this.oscar
				+ "\nFecha de Emision:" + this.fechaEstreno;
		return string;
	}
}